home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / OpenGL / glpixelstore.z / glpixelstore
Encoding:
Text File  |  2001-04-17  |  64.1 KB  |  723 lines

  1.  
  2.  
  3.  
  4. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeffff,,,, ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeiiii - set pixel storage modes
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeffff( GLenum _p_n_a_m_e,
  14.                          GLfloat _p_a_r_a_m )
  15.      void ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeiiii( GLenum _p_n_a_m_e,
  16.                          GLint _p_a_r_a_m )
  17.  
  18.  
  19. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  20.      _p_n_a_m_e  Specifies the symbolic name of the parameter to be set.  Twelve
  21.             values affect the packing of pixel data into memory:
  22.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT, GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH,
  23.             GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT, GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS,
  24.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  25.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS, GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  26.             GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX, and GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX.  Twelve
  27.             more affect the unpacking of pixel data _f_r_o_m memory:
  28.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH,
  29.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS,
  30.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  31.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  32.             GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX, and GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX.
  33.  
  34.      _p_a_r_a_m  Specifies the value that _p_n_a_m_e is set to.
  35.  
  36. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  37.      ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee sets pixel storage modes that affect the operation of
  38.      subsequent ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss and ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss as well as the unpacking of
  39.      polygon stipple patterns (see ggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee), bitmaps (see ggggllllBBBBiiiittttmmmmaaaapppp),
  40.      and texture patterns (see ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD,
  41.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, and
  42.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS).  Additionally, if the GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension is
  43.      supported, pixel storage modes affect convolution filters (see
  44.      ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD, ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, and ggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD),
  45.      color tables (see ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee and ggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee), and unpacking
  46.      histogram (see ggggllllHHHHiiiissssttttooooggggrrrraaaammmm) and minmax (see ggggllllMMMMiiiinnnnmmmmaaaaxxxx) data.
  47.  
  48.      _p_n_a_m_e is a symbolic constant indicating the parameter to be set, and
  49.      _p_a_r_a_m is the new value.  Twelve of the twenty-four storage parameters
  50.      affect how pixel data is returned to client memory.  They are as follows:
  51.  
  52.      GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  53.                If true, byte ordering for multibyte color components, depth
  54.                components, color indices, or stencil indices is reversed.
  55.                That is, if a four-byte component consists of bytes b , b , b ,
  56.                                                                     0   1   2
  57.                b , it is stored in memory as b , b , b , b  if
  58.                 3                             3   2   1   0
  59.                GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS is true.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS has no effect
  60.                on the memory order of components within a pixel, only on the
  61.                order of bytes within components or indices.  For example, the
  62.  
  63.  
  64.  
  65.                                                                         PPPPaaaaggggeeee 1111
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  73.  
  74.  
  75.  
  76.                three components of a GGGGLLLL____RRRRGGGGBBBB format pixel are always stored
  77.                with red first, green second, and blue third, regardless of the
  78.                value of GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS.
  79.  
  80.      GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  81.                If true, bits are ordered within a byte from least significant
  82.                to most significant; otherwise, the first bit in each byte is
  83.                the most significant one.  This parameter is significant for
  84.                bitmap data only.
  85.  
  86.      GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  87.                If greater than 0, GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH defines the number of
  88.                pixels in a row.  If the first pixel of a row is placed at
  89.                location p in memory, then the location of the first pixel of
  90.                the next row is obtained by skipping
  91.  
  92.  
  93.                                           (
  94.  
  95.                                           |       nl           s _> a
  96.  
  97.                                      k =  |
  98.                                             a_|   snl___|      s < a
  99.                                           |
  100.                                            s| a |
  101.                                           (
  102.  
  103.  
  104.  
  105.  
  106.                components or indices, where n is the number of components or
  107.                indices in a pixel, l is the number of pixels in a row
  108.                (GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument
  109.                to the pixel routine otherwise), a is the value of
  110.                GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes, of a single
  111.                component (if a<s, then it is as if a = s).  In the case of 1-
  112.                bit values, the location of the next row is obtained by
  113.                skipping
  114.  
  115.                                                |   nl__|
  116.                                          k = 8a
  117.                                                |8a|
  118.  
  119.                components or indices.
  120.  
  121.                The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex
  122.                values red, green, blue, alpha, and depth.  Storage format
  123.                GGGGLLLL____RRRRGGGGBBBB, for example, has three components per pixel:  first
  124.                red, then green, and finally blue.
  125.  
  126.      GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  127.                If greater than 0, GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT defines the number of
  128.                pixels in an image of a three-dimensional texture volume, where
  129.                an ``image'' consists of all pixels sharing the same third
  130.                dimension index.  If the first pixel of an image is placed at
  131.                location p in memory, then the location of the first pixel of
  132.                the next image is obtained by skipping
  133.  
  134.  
  135.                                          (
  136.  
  137.                                          |         nlh           s _> a
  138.  
  139.                                     k =  |
  140.                                             a_|   snlh____|      s < a
  141.                                          |
  142.                                            s| a  |
  143.                                          (
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.                                                                         PPPPaaaaggggeeee 2222
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  159.  
  160.  
  161.  
  162.                components or indices, where n is the number of components or
  163.                indices in a pixel, l is the number of pixels in a row
  164.                (GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0,  the width
  165.                argument to ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), h is the number of rows in
  166.                a pixel image (GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0,
  167.                the height argument to the ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD routine otherwise), a
  168.                is the value of GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes,
  169.                of a single component (if a<s, then it is as if a=s).
  170.  
  171.                The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex
  172.                values red, green, blue, alpha, and depth.  Storage format
  173.                GGGGLLLL____RRRRGGGGBBBB, for example, has three components per pixel:  first
  174.                red, then green, and finally blue.
  175.  
  176.      GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  177.                If greater than 0, GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS defines the number
  178.                of pixels in a volume of a four-dimensional texture
  179.                hypervolume, where a ``volume'' consists of all pixels sharing
  180.                the same fourth dimension index.  If the first pixel of a
  181.                volume is placed at location p in memory, then the location of
  182.                the first pixel of the next volume is obtained by skipping
  183.  
  184.  
  185.                                         (
  186.  
  187.                                         |          nlhd           s _> a
  188.  
  189.                                    k =  |
  190.                                            a_|    snlhd_____|      s < a
  191.                                         |
  192.                                           s|  a  |
  193.                                         (
  194.  
  195.  
  196.  
  197.  
  198.                components or indices, where n is the number of components or
  199.                indices in a pixel, l is the number of pixels in a row
  200.                (GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument
  201.                to ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS otherwise, h is the number of rows in a
  202.                pixel image (GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0, the
  203.                height argument to the ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS routine otherwise), d
  204.                is the number of images in a volume (GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  205.                if it is greater than 0, the depth argument to the
  206.                ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS routine otherwise), a is the value of
  207.                GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes, of a single
  208.                component (if a<s, then it is as if a=s).
  209.  
  210.                The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex
  211.                values red, green, blue, alpha, and depth.  Storage format
  212.                GGGGLLLL____RRRRGGGGBBBB, for example, has three components per pixel:  first
  213.                red, then green, and finally blue.
  214.  
  215.      GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  216.                and GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS
  217.                These values are provided as a convenience to the programmer;
  218.                they provide no functionality that cannot be duplicated simply
  219.                by incrementing the pointer passed to ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss.  Setting
  220.                GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS to i is equivalent to incrementing the
  221.                pointer by in components or indices, where n is the number of
  222.                components or indices in each pixel.  Setting GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS
  223.  
  224.  
  225.  
  226.                                                                         PPPPaaaaggggeeee 3333
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  234.  
  235.  
  236.  
  237.                to j is equivalent to incrementing the pointer by jm components
  238.                or indices, where m is the number of components or indices per
  239.                row, as just computed in the GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH section.
  240.                Setting GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS to k is equivalent to incrementing
  241.                the pointer by kp, where p is the number of components or
  242.                indices per image, as computed in the GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  243.                section.  Setting GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS to k is equivalent
  244.                to incrementing the pointer by kp, where p is the number of
  245.                components or indices per volume, as computed in the
  246.                GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS section.
  247.  
  248.      GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  249.                Specifies the alignment requirements for the start of each
  250.                pixel row in memory.  The allowable values are 1 (byte-
  251.                alignment), 2 (rows aligned to even-numbered bytes), 4 (word-
  252.                alignment), and 8 (rows start on double-word boundaries).
  253.  
  254.      GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  255.                Specifies the subsample conversion rate that is applied to
  256.                packed pixel stores.  The accepted _p_a_r_a_m values are
  257.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX, and
  258.                GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444222244442222____SSSSGGGGIIIIXXXX.  When set to other than the
  259.                default GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX value, RGB and RGBA pixel
  260.                groups are sampled to produce two-value packed pixel groups.
  261.                The width argument to the pixel routine must be a multiple of 2
  262.                pixels.  The red, green, and blue components of the pixel are
  263.                sampled in the order specified by the destination format.  When
  264.                a 4-component format is specified, the alpha component is
  265.                ignored. Subsampled pixel pairs are packed as follows:
  266.  
  267.                2424 - decimate :              4242 - decimate :
  268.  
  269.                <U00,U01,U02> <U10,U11,U12>    <U00,U01,U02> <U10,U11,U12>
  270.                  |   |   |         |            |   |   |___   ___|
  271.                  |   |   |         |             \ /        \ /
  272.                  |   |    \       /               X          X
  273.                  |   |     \     /               / \        / \
  274.                  |   |      |   |               |   |      |   |
  275.                  V   V      V   V               V   V      V   V
  276.                <P00,P01>  <P10,P11>           <P00,P01>  <P10,P11>
  277.  
  278.  
  279.      GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  280.                Specifies the resample mode in effect when a pack subsample
  281.                rate is being applied.  The only currently allowable value is
  282.                GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____DDDDEEEECCCCIIIIMMMMAAAATTTTEEEE____SSSSGGGGIIIIXXXX. When the subsample rate is not
  283.                uniform for all components, the components that are sampled at
  284.                the lower-rate in the second group of each pixel pair are
  285.                ignored.
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.                                                                         PPPPaaaaggggeeee 4444
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  300.  
  301.  
  302.  
  303.      The other twelve of the twenty-four storage parameters affect how pixel
  304.      data is read from client memory.  These values are significant for
  305.      ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS,
  306.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS,
  307.      ggggllllBBBBiiiittttmmmmaaaapppp, and ggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee.
  308.  
  309.      Additionally, if the GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension is supported, ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee,
  310.      ggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee, ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD, ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, and
  311.      ggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD.  They are as follows:
  312.  
  313.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  314.           If true, byte ordering for multibyte color components, depth
  315.           components, color indices, or stencil indices is reversed.  That is,
  316.           if a four-byte component consists of bytes b , b , b , b , it is
  317.                                                       0   1   2   3
  318.           taken from memory as b , b , b , b  if GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS is true.
  319.                                 3   2   1   0
  320.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS has no effect on the memory order of components
  321.           within a pixel, only on the order of bytes within components or
  322.           indices.  For example, the three components of a GGGGLLLL____RRRRGGGGBBBB format pixel
  323.           are always stored with red first, green second, and blue third,
  324.           regardless of the value of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS.
  325.  
  326.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  327.           If true, bits are ordered within a byte from least significant to
  328.           most significant; otherwise, the first bit in each byte is the most
  329.           significant one.  This is relevant only for bitmap data.
  330.  
  331.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  332.           If greater than 0, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH defines the number of pixels
  333.           in a row.  If the first pixel of a row is placed at location p in
  334.           memory, then the location of the first pixel of the next row is
  335.           obtained by skipping
  336.  
  337.  
  338.                                        (
  339.  
  340.                                        |        nl           s _> a
  341.  
  342.                                   k =  |
  343.                                           a_|   snl___|      s < a
  344.                                        |
  345.                                          s| a |
  346.                                        (
  347.  
  348.  
  349.  
  350.  
  351.           components or indices, where n is the number of components or
  352.           indices in a pixel, l is the number of pixels in a row
  353.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument to
  354.           the pixel routine otherwise), a is the value of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  355.           and s is the size, in bytes, of a single component (if a<s, then it
  356.           is as if a=s).  In the case of 1-bit values, the location of the
  357.           next row is obtained by skipping
  358.  
  359.                                              |   nl__|
  360.                                        k = 8a
  361.                                              |8a|
  362.  
  363.           components or indices.
  364.  
  365.           The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex values
  366.           red, green, blue, alpha, and depth.  Storage format GGGGLLLL____RRRRGGGGBBBB, for
  367.           example, has three components per pixel:  first red, then green, and
  368.  
  369.  
  370.  
  371.                                                                         PPPPaaaaggggeeee 5555
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  379.  
  380.  
  381.  
  382.           finally blue.
  383.  
  384.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  385.           If greater than 0, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT defines the number of
  386.           pixels in an image of a three-dimensional texture volume, where an
  387.           ``image'' consists of all pixels sharing the same third dimension
  388.           index.  If the first pixel of an image is placed at location p in
  389.           memory, then the location of the first pixel of the next image is
  390.           obtained by skipping
  391.  
  392.  
  393.                                       (
  394.  
  395.                                       |         nlh           s _> a
  396.  
  397.                                  k =  |
  398.                                          a_|   snlh____|      s < a
  399.                                       |
  400.                                         s| a  |
  401.                                       (
  402.  
  403.  
  404.  
  405.  
  406.           components or indices, where n is the number of components or
  407.           indices in a pixel, l is the number of pixels in a row
  408.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument to
  409.           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), h is the number of rows in an image
  410.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0, the height argument
  411.           to ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), a is the value of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT,
  412.           and s is the size, in bytes, of a single component (if a<s, then it
  413.           is as if a = s).
  414.  
  415.           The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex values
  416.           red, green, blue, alpha, and depth.  Storage format GGGGLLLL____RRRRGGGGBBBB, for
  417.           example, has three components per pixel:  first red, then green, and
  418.           finally blue.
  419.  
  420.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  421.           If greater than 0, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS defines the number of
  422.           pixels in a volume of a four-dimensional texture hypervolume, where
  423.           a ``volume'' consists of all pixels sharing the same fourth
  424.           dimension index.  If the first pixel of a volume is placed at
  425.           location p in memory, then the location of the first pixel of the
  426.           next volume is obtained by skipping
  427.  
  428.  
  429.                                       (
  430.  
  431.                                       |          nlhd           s _> a
  432.  
  433.                                  k =  |
  434.                                          a_|    snlhd_____|      s < a
  435.                                       |
  436.                                         s|  a  |
  437.                                       (
  438.  
  439.  
  440.  
  441.  
  442.           components or indices, where n is the number of components or
  443.           indices in a pixel, l is the number of pixels in a row
  444.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH if it is greater than 0, the width argument to
  445.           ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), h is the number of rows in an image
  446.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT if it is greater than 0, the height argument
  447.           to ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD otherwise), d is the number of images in a volume
  448.           (GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS if it is greater than 0, the depth
  449.           argument to the ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS routine otherwise), a is the value
  450.           of GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT, and s is the size, in bytes, of a single
  451.           component (if a<s, then it is as if a = s).
  452.  
  453.  
  454.  
  455.                                                                         PPPPaaaaggggeeee 6666
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  463.  
  464.  
  465.  
  466.           The word _c_o_m_p_o_n_e_n_t in this description refers to the nonindex values
  467.           red, green, blue, alpha, and depth.  Storage format GGGGLLLL____RRRRGGGGBBBB, for
  468.           example, has three components per pixel:  first red, then green, and
  469.           finally blue.
  470.  
  471.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS, GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS,
  472.           and GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS
  473.           These values are provided as a convenience to the programmer; they
  474.           provide no functionality that cannot be duplicated by incrementing
  475.           the pointer passed to ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD,
  476.           ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllBBBBiiiittttmmmmaaaapppp, or ggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee.
  477.           Setting GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS to i is equivalent to incrementing the
  478.           pointer by in components or indices, where n is the number of
  479.           components or indices in each pixel.  Setting GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS to
  480.           j is equivalent to incrementing the pointer by jk components or
  481.           indices, where k is the number of components or indices per row, as
  482.           just computed in the GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH section.  Setting
  483.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS to k is equivalent to incrementing the pointer
  484.           by kp, where p is the number of components or indices per image, as
  485.           computed in the GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT section.  Setting
  486.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS to k is equivalent to incrementing the
  487.           pointer by kp, where p is the number of components or indices per
  488.           volume, as computed in the GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS section.
  489.  
  490.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  491.           Specifies the alignment requirements for the start of each pixel row
  492.           in memory.  The allowable values are 1 (byte-alignment), 2 (rows
  493.           aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows
  494.           start on double-word boundaries).
  495.  
  496.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  497.           Specifies the subsample conversion rate that is applied when
  498.           unpacking pixel data.  The accepted _p_a_r_a_m values are
  499.           GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX, and
  500.           GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444222244442222____SSSSGGGGIIIIXXXX.  When set to other than the default
  501.           GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX value, pixel groups are upsampled to
  502.           produce RGB or RGBA component groups, depending on the source
  503.           format.  The packed subsampled source pixel is composed of two
  504.           values, and the width argument to the pixel routine must be a
  505.           multiple of 2 pixels.  The unpacked pixel group is composed of R, G,
  506.           and B components in the order specified by the format.  When a 4-
  507.           component format is specified, an alpha component is added to the
  508.           unpacked group and set to the maximum clamped value of the source
  509.           type.  Pixel group values are also affected by the state of the
  510.           GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX mode. Subsampled pixel pairs are unpacked as
  511.           follows:
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.                                                                         PPPPaaaaggggeeee 7777
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  529.  
  530.  
  531.  
  532.           2424 - replicate :             2424 - zero-fill :
  533.  
  534.           <P00,P01>     <P10,P11>        <P00,P01>     <P10,P11>
  535.             |   |         |   |            |   |         |   |
  536.             |   |   o-----o---+---o        |   |   o-----o   |
  537.             |   |   |         |   |        |   |   |         |
  538.             o---+---+-----o   |   |        |   |   |    0.0  |  0.0
  539.             |   |   |     |   |   |        |   |   |     |   |   |
  540.             V   V   V     V   V   V        V   V   V     V   V   V
  541.           <U00,U01,U02> <U10,U11,U12>    <U00,U01,U02> <U10,U11,U12>
  542.  
  543.  
  544.           4242 - replicate :             4242 - zero-fill :
  545.  
  546.           <P00,P01>     <P10,P11>        <P00,P01>     <P10,P11>
  547.             |   |       __\ __|_           |   |       __\ __|
  548.              \ / \____ /   \    \           \ /       /   \
  549.               X       X__   \    \           X       /     \
  550.              / \     /   \   \    |         / \     /   0.0 \   0.0
  551.             |   |   |     |   |   |        |   |   |     |   |   |
  552.             V   V   V     V   V   V        V   V   V     V   V   V
  553.           <U00,U01,U02> <U10,U11,U12>    <U00,U01,U02> <U10,U11,U12>
  554.  
  555.      GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  556.           Specifies the resample mode in effect when an unpack subsample rate
  557.           is being applied.  The accepted _p_a_r_a_m values are
  558.           GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____RRRREEEEPPPPLLLLIIIICCCCAAAATTTTEEEE____SSSSGGGGIIIIXXXX and GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____ZZZZEEEERRRROOOO____FFFFIIIILLLLLLLL____SSSSGGGGIIIIXXXX.  When
  559.           GGGGLLLL____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____ZZZZEEEERRRROOOO____FFFFIIIILLLLLLLL____SSSSGGGGIIIIXXXX is selected, the lower-rate sampled
  560.           components in the second group of each pixel pair are assigned a
  561.           zero value.  Otherwise the lower-rate components replicate
  562.           corresponding values from the preceding unpacked group.
  563.  
  564.      The following table gives the type, initial value, and range of valid
  565.      values for each storage parameter that can be set with ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee.
  566.  
  567.  
  568.  _p_n_a_m_e                            TTTTyyyyppppeeee     IIIInnnniiiittttiiiiaaaallll VVVVaaaalllluuuueeee        VVVVaaaalllliiiidddd RRRRaaaannnnggggeeee
  569.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS              boolean       false           true or false
  570.  GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT               boolean       false           true or false
  571.  GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH              integer         0                 [0,oo)
  572.  GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT            integer         0                 [0,oo)
  573.  GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS        integer         0                 [0,oo)
  574.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS               integer         0                 [0,oo)
  575.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS             integer         0                 [0,oo)
  576.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS             integer         0                 [0,oo)
  577.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS       integer         0                 [0,oo)
  578.  GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT               integer         4             1, 2, 4, or 8
  579.  GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX      enum         4444         4444, 2424, or 4242
  580.  GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX            enum       decimate             decimate
  581.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS            boolean       false           true or false
  582.  
  583.  
  584.  
  585.  
  586.  
  587.                                                                         PPPPaaaaggggeeee 8888
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  595.  
  596.  
  597.  
  598.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT             boolean       false           true or false
  599.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH            integer         0                 [0,oo)
  600.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT          integer         0                 [0,oo)
  601.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS      integer         0                 [0,oo)
  602.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS             integer         0                 [0,oo)
  603.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS           integer         0                 [0,oo)
  604.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS           integer         0                 [0,oo)
  605.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS     integer         0                 [0,oo)
  606.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT             integer         4             1, 2, 4, or 8
  607.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX    enum         4444         4444, 2424, or 4242
  608.  GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX          enum       replicate     replicate or zero-fill
  609.  
  610.  
  611.      ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeffff can be used to set any pixel store parameter.  If the
  612.      parameter type is boolean, then if _p_a_r_a_m is 0, the parameter is false;
  613.      otherwise it is set to true.  If _p_n_a_m_e is a integer type parameter, _p_a_r_a_m
  614.      is rounded to the nearest integer.
  615.  
  616.      Likewise, ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeeeiiii can also be used to set any of the pixel store
  617.      parameters.  Boolean parameters are set to false if _p_a_r_a_m is 0 and true
  618.      otherwise.
  619.  
  620. NNNNOOOOTTTTEEEESSSS
  621.      The pixel storage modes in effect when ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss,
  622.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS,
  623.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS,
  624.      ggggllllBBBBiiiittttmmmmaaaapppp, or ggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee is placed in a display list control the
  625.      interpretation of memory data.  Likewise, if the GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension
  626.      is supported, the pixel storage modes in effect when ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee,
  627.      ggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee, ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD, ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, of
  628.      ggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD is placed in a display list control the
  629.      intrepretation of memory data.  The pixel storage modes in effect when a
  630.      display list is executed are not significant.
  631.  
  632.      Pixel storage modes are client state and must be pushed and restored
  633.      using
  634.      ggggllllPPPPuuuusssshhhhCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb and ggggllllPPPPooooppppCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb.
  635.  
  636. EEEERRRRRRRROOOORRRRSSSS
  637.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _p_n_a_m_e is not an accepted value.
  638.  
  639.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if a negative row length, pixel skip, or
  640.      row skip value is specified, or if alignment is specified as other than
  641.      1, 2, 4, or 8, or if subsample rate or resample is specified with a value
  642.      that is not accepted.
  643.  
  644.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee is executed between the
  645.      execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.                                                                         PPPPaaaaggggeeee 9999
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee((((3333GGGG))))
  661.  
  662.  
  663.  
  664. ASSOCIATED GETS
  665.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  666.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  667.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  668.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  669.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  670.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS
  671.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS
  672.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS
  673.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLSSSSUUUUMMMMEEEE____SSSSGGGGIIIISSSS
  674.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  675.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  676.      ggggllllGGGGeeeetttt with argument GGGGLLLL____PPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  677.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSWWWWAAAAPPPP____BBBBYYYYTTTTEEEESSSS
  678.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT
  679.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRROOOOWWWW____LLLLEEEENNNNGGGGTTTTHHHH
  680.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT
  681.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____IIIIMMMMAAAAGGGGEEEE____DDDDEEEEPPPPTTTTHHHH____SSSSGGGGIIIISSSS
  682.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____RRRROOOOWWWWSSSS
  683.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____PPPPIIIIXXXXEEEELLLLSSSS
  684.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____IIIIMMMMAAAAGGGGEEEESSSS
  685.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSKKKKIIIIPPPP____VVVVOOOOLLLLUUUUMMMMEEEESSSS____SSSSGGGGIIIISSSS
  686.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____AAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT
  687.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX
  688.      ggggllllGGGGeeeetttt with argument GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____RRRREEEESSSSAAAAMMMMPPPPLLLLEEEE____SSSSGGGGIIIIXXXX
  689.  
  690.  
  691. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  692.      The SSSSGGGGIIIIXXXX____ssssuuuubbbbssssaaaammmmpppplllleeee and SSSSGGGGIIIIXXXX____rrrreeeessssaaaammmmpppplllleeee extensions are supported only on
  693.      OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems.  Applying the GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX
  694.      subsample rate is accelerated for direct immmediate mode transfers when
  695.      the format is GGGGLLLL____RRRRGGGGBBBB or GGGGLLLL____RRRRGGGGBBBBAAAA, and the type is GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE or
  696.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT.
  697.  
  698.  
  699. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  700.      ggggllllBBBBiiiittttmmmmaaaapppp, ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee, ggggllllCCCCoooolllloooorrrrSSSSuuuubbbbTTTTaaaabbbblllleeee, ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr1111DDDD,
  701.      ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDD, ggggllllSSSSeeeeppppaaaarrrraaaabbbblllleeeeFFFFiiiilllltttteeeerrrr2222DDDD, ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllHHHHiiiissssttttooooggggrrrraaaammmm,
  702.      ggggllllMMMMiiiinnnnmmmmaaaaxxxx, ggggllllPPPPiiiixxxxeeeellllMMMMaaaapppp, ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ggggllllPPPPiiiixxxxeeeellllZZZZoooooooommmm, ggggllllPPPPoooollllyyyyggggoooonnnnSSSSttttiiiipppppppplllleeee,
  703.      ggggllllPPPPuuuusssshhhhCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb, ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD,
  704.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee1111DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD,
  705.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee4444DDDDSSSSGGGGIIIISSSS
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.                                                                        PPPPaaaaggggeeee 11110000
  720.  
  721.  
  722.  
  723.